home *** CD-ROM | disk | FTP | other *** search
- '''
- Manage which fileformat can be processed
- '''
-
- import images
- import audio
- import office
- import archive
- import misc
- import subprocess
-
- STRIPPERS = {
- 'application/x-tar': archive.TarStripper,
- 'application/x-gzip': archive.GzipStripper,
- 'application/x-bzip2': archive.Bzip2Stripper,
- 'application/zip': archive.ZipStripper,
- 'audio/mpeg': audio.MpegAudioStripper,
- 'application/x-bittorrent': misc.TorrentStripper,
- 'application/opendocument': office.OpenDocumentStripper,
- 'application/officeopenxml': office.OpenXmlStripper,
- }
-
-
- # PDF support
- pdfSupport = True
- try:
- import poppler
- except ImportError:
- print('Unable to import python-poppler: not PDF support')
- pdfSupport = False
-
- try:
- import cairo
- except ImportError:
- print('Unable to import python-cairo: no PDF support')
- pdfSupport = False
-
- try:
- import pdfrw
- except ImportError:
- print('Unable to import python-pdfrw: no PDf support')
- pdfSupport = False
-
- if pdfSupport:
- STRIPPERS['application/x-pdf'] = office.PdfStripper
- STRIPPERS['application/pdf'] = office.PdfStripper
-
-
- # audio format support with mutagen-python
- try:
- import mutagen
- STRIPPERS['audio/x-flac'] = audio.FlacStripper
- STRIPPERS['audio/vorbis'] = audio.OggStripper
- except ImportError:
- print('Unable to import python-mutagen: limited audio format support')
-
- # exiftool
- try:
- subprocess.Popen('exiftool', stdout=open('/dev/null'))
- import exiftool
- STRIPPERS['image/jpeg'] = exiftool.JpegStripper
- STRIPPERS['image/png'] = exiftool.PngStripper
- except: # if exiftool is not installed, use hachoir
- print('Unable to find exiftool: limited images support')
- STRIPPERS['image/jpeg'] = images.JpegStripper
- STRIPPERS['image/png'] = images.PngStripper
-
-